#include "HiranipraShared.h"

#include "Math/Point.h"
#include "Math/Size.h"

#ifndef _SHARED_PLATFORM_ISYSTEMINFORMATION_H_
#define _SHARED_PLATFORM_ISYSTEMINFORMATION_H_

namespace Hiranipra {
	namespace Platform {
		using namespace Hiranipra::Math;

		class ISystemInformation : implements RefInstance
		{
		public:
			virtual ~ISystemInformation(){}

			virtual uint32 GetPackageProcessorCount() const = 0;
			virtual uint32 GetPhysicalProcessorCount() const = 0;
			virtual uint32 GetLogicalProcessorCount() const = 0;
			virtual float GetAverageProcessorSpeed() const = 0;
		};

	}
}

#endif // _SHARED_PLATFORM_ISYSTEMINFORMATION_H_
